#ifndef PREREQUIS_H
#define PREREQUIS_H

#include "StatusCode.h"

#include <vector>

using namespace std;

/**
 * Structure permettant de gérer les prérequis raciaux.
 */
class Prerequis
{
 public:
  Prerequis(const unsigned int& trait = 0, const unsigned int& min = 3,
	    const unsigned int& max = 26);
  Prerequis(const Prerequis& preRequis);
  ~Prerequis();
  const Prerequis& operator=(const Prerequis& preRequis);
  StatusCode estOK(const std::vector< unsigned int >& tab) const;
  friend ostream& operator<<(ostream& os, const Prerequis& preRequis);
 protected:
  unsigned int
    TraitNbr, /**< Numéro du trait */
    Min,   /**< Valeur minimal du trait */
    Max;   /**< Valeur maximal du trait */
};

#endif // PREREQUIS_H
